package com.javawork.juc.AQS;

import java.util.concurrent.locks.ReentrantLock;

/**
 * AQS 即抽象的队列同步器
 * 是用来实现锁或者其它同步器组件的公共基础部分的抽象实现，是重量级基础框架及整个JUC体系的基石，主要用于解决锁分配给“谁”的问题
 * 整体就是一个抽象的先进先出（FIFO）队列来完成资源获取线程的排队工作，并通过一个int类变量表示持有锁的状态
 * <br>
 * Java并发大神DougLee，提出统一规范并简化了锁的实现，将其抽象出来屏蔽了同步状态管理、同步队列的管理和维护、阻塞线程排队和通知、唤醒机制等，
 * 是一切锁和同步组件实现的--------公共基础部分
 * @author zhangxiaolu
 * @since 2023-02-16 23:46
 */
public class AQSDemo {

    public static void main(String[] args) {
//        AbstractQueuedSynchronizer
        ReentrantLock reentrantLock = new ReentrantLock();
        reentrantLock.lock();
        try {

        } finally {
            reentrantLock.unlock();
        }
    }
}
